---
import "../styles/global.css";
import type { ImageMetadata } from "astro";
import FallbackImage from "../assets/firecrawl-wordmark.png";
import { SITE_TITLE } from "../consts";

interface Props {
  title: string;
  description: string;
  image?: ImageMetadata;
}

const canonicalURL = new URL(Astro.url.pathname, Astro.site);

const { title, description, image = FallbackImage } = Astro.props;
---

<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<link rel="icon" href="/favicon.png" />
<link rel="sitemap" href="/sitemap-index.xml" />
<link
  rel="alternate"
  type="application/rss+xml"
  title={SITE_TITLE}
  href={new URL("rss.xml", Astro.site)}
/>
<meta name="generator" content={Astro.generator} />

<link
  rel="preload"
  href="/fonts/atkinson-regular.woff"
  as="font"
  type="font/woff"
  crossorigin
/>
<link
  rel="preload"
  href="/fonts/atkinson-bold.woff"
  as="font"
  type="font/woff"
  crossorigin
/>

<link rel="canonical" href={canonicalURL} />

<title>{title}</title>
<meta name="title" content={title} />
<meta name="description" content={description} />

<meta property="og:type" content="website" />
<meta property="og:url" content={Astro.url} />
<meta property="og:title" content={title} />
<meta property="og:description" content={description} />
<meta property="og:image" content={new URL(image.src, Astro.url)} />

<meta property="twitter:card" content="summary_large_image" />
<meta property="twitter:url" content={Astro.url} />
<meta property="twitter:title" content={title} />
<meta property="twitter:description" content={description} />
<meta property="twitter:image" content={new URL(image.src, Astro.url)} />
